// dom操作剥离 真实的dom操作

// 创建节点
export function createElement(tagName) {
    return document.createElement(tagName);
}

// 创建文本节点
export function createTextNode(text) {
    return document.createTextNode(text);
}

// 创建注释节点
export function createComment(text) {
    return document.createComment(text);
}

/**
 * 节点之前插入一个拥有指定父节点的子节点
 * @param parentNode 新插入节点的父节点
 * @param newNode 用于插入的节点
 * @param referenceNode newNode 将要插在这个节点之前
 */
export function insertBefore(parentNode, newNode, referenceNode) {
    parentNode.insertBefore(newNode, referenceNode);
}

// 删除节点
export function removeChild(node, child) {
    node.removeChild(child);
}

// 插入节点
export function appendChild(node, child) {
    node.appendChild(child);
}

// 返回父节点
export function parentNode(node) {
    return node.parentNode;
}

// 返回列表项的下一个同胞
export function nextSibling(node) {
    return node.nextSibling
}

// 返回节点名称
export function tagName(node) {
    return node.tagName;
}

// 设置文本内容
export function setTextContent(node, text) {
    node.textContent = text;
}

// 设置属性
export function setAttribute(node, key, val) {
    node.setAttribute(key, val);
}

